# 定义编译器
CXX = g++

# 定义编译选项
CXXFLAGS = -Wall -Iinc

# 定义输出的可执行文件名
TARGET = server

# 定义源文件和头文件
SRC = src/main.cpp src/tcp_server.cpp src/tcp_socket.cpp
HDR = inc/tcp_server.h inc/tcp_socket.h

# 生成目标文件
OBJ = $(SRC:.cpp=.o)

# 默认目标
all: $(TARGET)

# 链接目标文件生成可执行文件
$(TARGET): $(OBJ)
	$(CXX) $(OBJ) $(LDFLAGS) -o $@

# 编译源文件生成目标文件
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

# 清理生成的文件
clean:
	rm -f $(OBJ) $(TARGET)

.PHONY: all clean